package com.jsbs.iam.ident.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;

@Data
public class IamUserInfoDto {

  /**
   * 主键
   */
  private Long id;

  /**
   * 归属组织，组织类型编码
   */
  private String orgTypeCode;

  /**
   * 用户类型编码
   */
  private String userTypeCode;

  /**
   * 人员主键ID
   */
  private String empId;

  /**
   * 业务系统用户ID
   */
  private String userId;

  /**
   * 用户ID
   */
  private String userCode;

  /**
   * 姓名
   */
  private String name;

  /**
   * 状态 0：无效，1：有效
   * 初始化只同步有效
   */
  private Integer status;

  /**
   * 邮箱 用户邮箱（不是唯一，且可为空）
   */
  private String email;

  /**
   * 电话 非空唯一
   */
  private String phone;

  /**
   * 员工编号 工号，非空唯一
   */
  private String employeeCode;

  /**
   * 性别 1：男，0：女
   */
  private Integer gender;

  /**
   * 民族
   */
  private String nation;

  /**
   * 出生日期
   */
  private String birthday;

  /**
   * 员工状态:0试用期,1正式,2待离职,3待岗,4在岗,5离职
   */
  private Integer employeeStatus;

  /**
   * 工作性质:1正式,0试用期
   */
  private Integer jobType;

  /**
   * 是否为异常人员,1是,0否
   */
  private Integer isExceEmpl;

  /**
   * 是否为管培生,1是,0否
   */
  private Integer isTrainEmpl;

  /**
   * 入职日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  private LocalDateTime inducdate;

  /**
   * 转正日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  private LocalDateTime formaldate;

  /**
   * 离职日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  private LocalDateTime leavedate;

  /**
   * 人员汇报关系组织 汇报组织
   */
  private String businessOrgCode;

  /**
   * 人员汇报关系岗位 汇报岗位
   */
  private String businessPostId;

  /**
   * 人员行政划分组织 行政组织
   */
  private String partitionOrgCode;

  /**
   * 人员行政划分岗位 行政岗位
   */
  private String partitionPostId;

  /**
   * 兼岗-岗位
   * 兼岗岗位（逗号分隔.自行切割）如：111,222,333,444
   */
  private String concurrentPost;

  /**
   * 兼岗-部门
   * 兼岗部门（逗号分隔.自行切割）如：111,222,333,444
   * 余兼岗岗位一一对应
   */
  private String concurrentPostOrg;

  /**
   * 同步标识，0同步 1自建
   */
  private Integer syncFlag;
  /**
   * 账户标识，0未开通，1已开通
   */
  private Integer accountFlag;

  //归属租户
  private String companyCode;

  /**
   * 创建人
   */
  private String createPerson;

  /**
   * 创建日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 更新人
   */
  private String updatePerson;

  /**
   * 更新日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
  private LocalDateTime updateTime;


}
